1. Technical Field
The present invention is directed generally toward a method and apparatus for performing high speed searches in time critical environments. More specifically, the present invention is directed to a hardware device for performing searches of input/output addresses which shifts the burden of such searches from the processor to the hardware device.
2. Description of the Related Art
In known systems, when an input/output (I/O) command is received from a host computing system, the storage system must figure out to which entity, e.g., a set of storage device drives in a stand alone storage array or a storage array in a storage complex, the I/O command is directed. Typically, the known approach is to have a firmware device with stored software instructions that are used by the processor of the storage system to perform a search in structures or lists to identify the destination of the command.
Firmware is a category of memory chips that hold their content without electrical power, such as a ROM, PROM, EPROM or EEPROM. Software instructions may be stored in such memory chips such that the software instructions need not be reloaded into the storage device each time they are needed. The software instructions stored in such firmware becomes “hard software” in that the software instruction contents of the memory chips are not lost when electrical power is discontinued.
As noted above, since the firmware acts as simply a persistent storage device, the software instructions stored therein must be executed by the processor of the storage system. Such processing to perform searches consumes processing cycles and tends to be a processor intensive operation. In time critical environments, such as in an I/O module, this searching approach can be too expensive with regard to performance of the storage system.
Thus, it would be beneficial to have an apparatus and method for performing high speed searches in time critical environments which offloads the processing burden of performing such searches from the processor.